package com.t17;

import java.util.PriorityQueue;

/**
 * Created by xuyiwei on 2018/8/15.
 */
public class ToDoList extends PriorityQueue<ToDoList.ToDoItem> {
    static class ToDoItem implements Comparable<ToDoItem>{
        private char primary;
        private int secondary;
        private String item;
        public ToDoItem(String td,char pri,int sec){
            primary = pri;secondary = sec;item = td;
        }
        @Override
        public int compareTo(ToDoItem arg) {
            if(primary > arg.primary){return 1;}
            if(primary == arg.primary){
                if(secondary>arg.secondary){return 1;}
                else if(secondary == arg.secondary){return 0;}
            }
            return -1;
        }
        public String toString(){
            return Character.toString(primary)+secondary+":"+item;
        }
    }
    public void add(String td,char pri,int sec){
        super.add(new ToDoItem(td,pri,sec));
    }
    public static void main(String[] args) {
        ToDoList toDoList = new ToDoList();
        toDoList.add("Empty trash",'C',4);
        toDoList.add("Feed dog",'A',2);
        toDoList.add("Feed bird",'B',7);
        toDoList.add("Mow lawn",'C',3);
        toDoList.add("Water lawn",'A',1);
        toDoList.add("Feed cat",'B',1);
        while (!toDoList.isEmpty()){
            System.out.println(toDoList.remove());
        }
        /**
         * A1:Water lawn
         A2:Feed dog
         B1:Feed cat
         B7:Feed bird
         C3:Mow lawn
         C4:Empty trash
         */
    }
}
